#include <QFileDialog>
#include <QDir>
#include <QMessageBox>
#include <QProgressDialog>
#include <QMap>
#include <QDialog>
#include <QLineEdit>
#include <QGridLayout>
#include <QPushButton>
#include <QObject>
#include <QFileDialog>
#include <QLabel>
#include <QMessageBox>
#include <QMenu>
#include <QAction>
#include <QListWidget>
#include <QListWidgetItem>
#include <QCheckBox>
#include <QGroupBox>
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QHeaderView>
#include <QTextBrowser>

class MainWindow : public QDialog
{
    Q_OBJECT
    
    QLineEdit * path_le;
    QLineEdit * name_le;
    QLineEdit * except_le;
    QDialog * main_dial;
    QDialog * about_dial;
    QPushButton * add_var;
    QTreeWidget * cont_list;
    QCheckBox * dirs_chck;
    QCheckBox * subdirs_chck;
    QString ver;
    QStringList exceptions;
    QStringList failed_files;
    int renamed_count;
    
    public:
        MainWindow();
        void setupInterface();
    
    public slots:
		void browse();
		void subRename(QString, QString, QTreeWidgetItem *);
		void start();
		void setVarMenu();
		void addCurName();
		void addIndex();
		void reloadContents();
		void subReloadContents(QString, QTreeWidgetItem *);
		void addPrefix();
		void addSuffix();
		void addException();
		void aboutDialogue();
        void errorDialogue();
};
